Model-based design tools attempt to simply a process of conceptualizing, designing, simulating and finally implementing custom hardware systems. A model-based design tool may be a graphical and/or textual modeling environment. In a textual modeling environment, a model may be represented as textual code. In a graphical modeling environment, a model may be represented as a block diagram. A block diagram is a representation of a real-world system through a diagram containing nodes referred to as “blocks” interconnected by lines. Blocks are functional entities that perform actions and transformations on data processed by the system. The lines represent streams of data, called “signals,” flowing between the various blocks.
Once a system designer has modeled a system using model-based design tools, it may be necessary to translate a model of the system into a description or a hardware implementation of the actual hardware system. A hardware implementation may be, for example, an electronic circuit. Modern day electronic circuits may be described using a hardware description language (HDL).
“HDL” refers to any language from a class of computer languages for formal description of hardware. HDL can describe a hardware a system, its design, and tests to verify its operation by means of simulation. HDL provides a standard text-based expression of the temporal behavior and/or spatial structure of a hardware system. The syntax and semantics of the HDL include explicit notations for expressing time and concurrency, which are primary attributes of hardware.
Using the hardware description from HDL code, a software program called an HDL synthesis tool can infer hardware logic operations from the hardware description statements and produce an equivalent list of generic hardware primitives to implement the specified behavior.
In such a way, a textual and/or graphical model of a real-world hardware system may be automatically transformed into an implemented version of the real-world system or some of its parts.